unit TabelaQ;

interface
uses
  Estado, Acao, Agente, Ambiente, Classes;

type

  TTabelaQ = class
    private

    protected

    public
      constructor Create (E : TAmbiente; r : TAgente); virtual; abstract;

      procedure Treina (s : TEstado; a : TAcao; v : Double); virtual;
      function RetornaValor (s : TEstado; a : TAcao) : Double; virtual;
      function RetornaMelhorValor (s : TEstado) : Double; virtual;
      function RetornaMelhorAcao (s : TEstado) : TAcao; virtual;

  end;

implementation

{ TTabelaQ }


function TTabelaQ.RetornaMelhorAcao(s: TEstado): TAcao;
begin

end;

function TTabelaQ.RetornaMelhorValor(s: TEstado): Double;
begin

end;

function TTabelaQ.RetornaValor(s: TEstado; a: TAcao): Double;
begin

end;

procedure TTabelaQ.Treina(s: TEstado; a: TAcao; v: Double);
begin

end;

end.
